home *** CD-ROM | disk | FTP | other *** search
Wrap
global gSize, gCast, gVariable, gSecondColor, myCurrentImage, myCurrentPreview, myCurrentSelection, gSelectRect, gMarqueeRect, gSelectionEdited, myStartImage, myTimerStart on rotate90Degrees cursor(4) if sprite(4).left = 800 then member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image myCurrentImage = duplicate(member(gSize & "x" & gSize, gCast).image) myCurrentPreview = duplicate(member("preview", gCast).image) myCurrentImage.copyPixels(member(gSize & "x" & gSize, gCast).image, [point(integer(gSize), 0), point(integer(gSize), integer(gSize)), point(0, integer(gSize)), point(0, 0)], member(gSize & "x" & gSize, gCast).rect) member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect) updateStage() fnUpdatePreview() sprite(35).pState = 0 sendSprite(35, #setMember) member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image myCurrentImage = VOID myCurrentPreview = VOID else if gSelectionEdited = 0 then if the shiftDown <> 1 then myStartImage.fill(gSelectRect, gSecondColor) end if member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image end if if gSelectRect.width = gSelectRect.height then myTempSelection = duplicate(myCurrentSelection) myCurrentSelection.copyPixels(myTempSelection, [point(myCurrentSelection.width, 0), point(myCurrentSelection.width, myCurrentSelection.height), point(0, myCurrentSelection.height), point(0, 0)], myTempSelection.rect) myCurrentImage.copyPixels(myStartImage, myCurrentImage.rect, myStartImage.rect) myCurrentImage.copyPixels(myCurrentSelection, gSelectRect, myCurrentSelection.rect) member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect) updateStage() fnUpdatePreview() myTempSelection = VOID gSelectionEdited = 1 else if myCurrentSelection.depth = 32 then myTempSelection = image(gSelectRect.height, gSelectRect.width, 32) myTempSelection.useAlpha = 1 else myTempSelection = image(gSelectRect.height, gSelectRect.width, member(gSize & "x" & gSize, gCast).depth, member(gSize & "x" & gSize, gCast).paletteRef) end if l = gSelectRect.left + (gSelectRect.width / 2) - (gSelectRect.height / 2) r = l + gSelectRect.height t = gSelectRect.top + (gSelectRect.height / 2) - (gSelectRect.width / 2) b = t + gSelectRect.width gSelDestRect = rect(l, t, r, b) myTempSelection.copyPixels(myCurrentSelection, [point(myTempSelection.width, 0), point(myTempSelection.width, myTempSelection.height), point(0, myTempSelection.height), point(0, 0)], myCurrentSelection.rect) myCurrentImage.copyPixels(myStartImage, myCurrentImage.rect, myStartImage.rect) myCurrentImage.copyPixels(myTempSelection, gSelDestRect, myTempSelection.rect) member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect) sprite(4).rect = rect((gSelDestRect.left * gVariable) + sprite(1).left, (gSelDestRect.top * gVariable) + sprite(1).top, (gSelDestRect.right * gVariable) + sprite(1).left, (gSelDestRect.top * gVariable) + sprite(1).top + 1) sprite(5).rect = rect((gSelDestRect.left * gVariable) + sprite(1).left, (gSelDestRect.top * gVariable) + sprite(1).top, (gSelDestRect.left * gVariable) + sprite(1).left + 1, (gSelDestRect.bottom * gVariable) + sprite(1).top) sprite(6).rect = rect((gSelDestRect.right * gVariable) + sprite(1).left - 1, (gSelDestRect.top * gVariable) + sprite(1).top, (gSelDestRect.right * gVariable) + sprite(1).left, (gSelDestRect.bottom * gVariable) + sprite(1).top) sprite(7).rect = rect((gSelDestRect.left * gVariable) + sprite(1).left, (gSelDestRect.bottom * gVariable) + sprite(1).top - 1, (gSelDestRect.right * gVariable) + sprite(1).left, (gSelDestRect.bottom * gVariable) + sprite(1).top) updateStage() fnUpdatePreview() tL = point(sprite(4).left + 1, sprite(4).top + 1) tR = point(sprite(4).right - 1, sprite(4).top + 1) bL = point(sprite(7).left + 1, sprite(7).bottom - 1) bR = point(sprite(7).right - 1, sprite(7).bottom - 1) if not inside(tL, sprite(1).rect) and not inside(tR, sprite(1).rect) and not inside(bL, sprite(1).rect) and not inside(bR, sprite(1).rect) and (sprite(1).rect.intersect(rect(tL[1], tL[2], bR[1], bR[2])) = rect(0, 0, 0, 0)) then myCurrentImage.copyPixels(myStartImage, myCurrentImage.rect, myStartImage.rect) member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect) sprite(4).rect = rect(800, 600, 810, 610) sprite(5).rect = rect(800, 600, 810, 610) sprite(6).rect = rect(800, 600, 810, 610) sprite(7).rect = rect(800, 600, 810, 610) put EMPTY into field "dimension status W" put EMPTY into field "dimension status H" updateStage() fnUpdatePreview() sprite(35).pState = 0 sendSprite(35, #setMember) member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image myTimerStart = 0 gSelectionEdited = VOID gMarqueeRect = rect(0, 0, 0, 0) gSelectRect = rect(0, 0, 0, 0) myStartImage = VOID myCurrentImage = VOID myCurrentPreview = VOID myCurrentSelection = VOID myTempSelection = VOID else gMarqueeRect = rect(sprite(5).left, sprite(4).top, sprite(6).right, sprite(7).bottom) gSelectRect = rect((sprite(5).left - sprite(1).left) / gVariable, (sprite(4).top - sprite(1).top) / gVariable, (sprite(6).right - sprite(1).left) / gVariable, (sprite(7).bottom - sprite(1).top) / gVariable) put gSelectRect.width into field "dimension status W" put gSelectRect.height into field "dimension status H" myCurrentSelection = duplicate(myTempSelection) myTempSelection = VOID gSelectionEdited = 1 end if end if end if cursor(0) end on flipHorizontal cursor(4) if sprite(4).left = 800 then member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image myCurrentImage = duplicate(member(gSize & "x" & gSize, gCast).image) myCurrentPreview = duplicate(member("preview", gCast).image) Y = integer(gSize) repeat with X = 0 to integer(gSize) Y = Y - 1 myCurrentImage.copyPixels(member(gSize & "x" & gSize, gCast).image, rect(X, 0, X + 1, integer(gSize)), rect(Y, 0, Y + 1, integer(gSize))) end repeat member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect) updateStage() fnUpdatePreview() sprite(35).pState = 0 sendSprite(35, #setMember) member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image myCurrentImage = VOID myCurrentPreview = VOID else if gSelectionEdited = 0 then if the shiftDown <> 1 then myStartImage.fill(gSelectRect, gSecondColor) end if member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image end if myTempSelection = duplicate(myCurrentSelection) Y = myCurrentSelection.width repeat with X = 0 to myCurrentSelection.width Y = Y - 1 myCurrentSelection.copyPixels(myTempSelection, rect(X, 0, X + 1, myCurrentSelection.height), rect(Y, 0, Y + 1, myCurrentSelection.height)) end repeat myCurrentImage.copyPixels(myStartImage, myCurrentImage.rect, myStartImage.rect) myCurrentImage.copyPixels(myCurrentSelection, gSelectRect, myCurrentSelection.rect) member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect) updateStage() fnUpdatePreview() myTempSelection = VOID gSelectionEdited = 1 end if cursor(0) end on flipVertical cursor(4) if sprite(4).left = 800 then member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image myCurrentImage = duplicate(member(gSize & "x" & gSize, gCast).image) myCurrentPreview = duplicate(member("preview", gCast).image) X = integer(gSize) repeat with Y = 0 to integer(gSize) X = X - 1 myCurrentImage.copyPixels(member(gSize & "x" & gSize, gCast).image, rect(0, Y, integer(gSize), Y + 1), rect(0, X, integer(gSize), X + 1)) end repeat member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect) updateStage() fnUpdatePreview() sprite(35).pState = 0 sendSprite(35, #setMember) member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image myCurrentImage = VOID myCurrentPreview = VOID else if gSelectionEdited = 0 then if the shiftDown <> 1 then myStartImage.fill(gSelectRect, gSecondColor) end if member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image end if myTempSelection = duplicate(myCurrentSelection) X = myCurrentSelection.height repeat with Y = 0 to myCurrentSelection.height X = X - 1 myCurrentSelection.copyPixels(myTempSelection, rect(0, Y, myCurrentSelection.width, Y + 1), rect(0, X, myCurrentSelection.width, X + 1)) end repeat myCurrentImage.copyPixels(myStartImage, myCurrentImage.rect, myStartImage.rect) myCurrentImage.copyPixels(myCurrentSelection, gSelectRect, myCurrentSelection.rect) member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect) updateStage() fnUpdatePreview() myTempSelection = VOID gSelectionEdited = 1 end if cursor(0) end